import * as map3d from './loader.es'
import {ref} from 'vue';




//标记

export const  options_mark = {
  清除标记: () => {
    map3d.clearMarks(); // 清除标记
  },
  点击定位: () => {
    let op = {
      scale: 1,
      image: `/static/icon/poi.png`,
      labelText: "", // 不需要就 传 ''
      labelFontSize: 26,
      labelColor: "#ffffff",
      labelOutline: true,
      labelOutlineColor: "#000000",
      labelPixelOffsetY: -60,
    };
    map3d.pointMark(op); // 点击绘点
    
  },
  //   批量导入点: () => {
  //     console.log("...."); // 点导入
  //   },
  线: () => {
    let option = {
      // width: 3,
      color: "#ffa430",
      isArrow: false,
    };
    map3d.printLine(option);
  },
  多边形: () => {
    let option = {
      color: "#ffa430",
      opacity: 0.5,
      outline: true,
      outlineColor: "#fff9e8",
      outlineWidth: 2.0,
      // clampToGround = false, // 如果需要，可以添加这个选项
    };
    map3d.printPolygon(option); // 绘多边形 "自由面"
  },
  圆: (opacity) => {
    let op = {
      color: "#ffa430",
      opacity:opacity|| 0, // 透明度为0即圆形线
      outlineOpacity: 1,
      outline: true,
      outlineColor:opacity ?"#fff9e8": "#ffa430",
      outlineWidth:2.0,
      clampToGround: true,
    };
    map3d.drawCircle(op); // 绘圆 // 传入透明度，0 时为绘制 ”圆形线“，比如 0.3 为 ”圆形线面"
  },
  矩形: (opacity) => {
    let op = {
      color: "#ffa430",
      opacity:opacity, // 0 为矩形线
      outlineOpacity: 1,
      outline: true,
      outlineColor:opacity > 0.1 ? "#fff9e8" : "#ffa430",
      outlineWidth: 2.0,
      clampToGround: true,
    };
    map3d.drawRectangle(op); // 绘矩形 // 传入透明度，0 时为绘制 ”矩形线“，比如 0.3 为 "矩形"
  },
  细直箭头: () => {
    let option = {
      width: 26,
      color: "#ff0000",
      isArrow: true, //细直箭头,
    };
    map3d.printLine(option);
  },
  直箭头: () => {
    let option = {
      color: "#ff0000",
      opacity: 0.6,
    };
    map3d.drawStraightArrow(option);
  },
  弯箭头: () => {
    let option = {
      color: "#ff0000",
      opacity: 0.6,
    };
    map3d.drawCurvueArrow(option);
  },

  文字标注: () => {
    let op = {
      text: "文字标注",
      color: "#ffa430",
      fontSize: 26,
      outline: true,
      outlineColor: "#fff9e8",
      outlineWidth: 2,
    };
    map3d.textMark(op); // 文字标注 // textMark('内容', fontSize) fontSize 可不传默认 26
  },
  geojson获取: () => {
    console.log(map3d.getMarkGeoJson());
  },
  color: "#0081c2",
  outlineColor: "#0081c2",
  width: 2,
};

export const options_measure = {
  清除测量: () => {
    map3d.clearMeasure()
  },
  空间距离: () => {
    map3d.measureDis() //
  },
  贴地距离: () => {
    map3d.measureDis(true)
  },
  高度差: () => {
    map3d.heightMeasure() //
  },
  水平面积: () => {
    map3d.measureArea() //
  },
  贴地面积: () => {
    map3d.measureArea(true) //
  },
  角度: () => {
    //方位测量?
    map3d.measureAngle()
  },
  三角测量: () => {
    map3d.triangleMeasure() //
  },
  坐标测量: () => {
    map3d.measurePos(); //
  },
}


export const options_analyse = {
  日照分析: () => {
   // map3d.distance();
  },
  可视域: () => {
    map3d.viewShed()
  },
  清除可视域: () => {
    map3d.clearViewShed()
  },
  方量分析: () => {
    map3d.squareAnalysis()
  },
  地形开挖: () => {
    map3d.dig()
  },
  坡度坡向: () => {
    map3d.slopeAnalys()
  },
  地表透明: false, // 布尔值控制，默认值为 false
  卷帘: false, // 布尔值控制，默认值为 false
  地形检测: false,
  日照阴影: false,
  时间轴: false,
  专题制图: () => {
    map3d.expImage(true);
  },
  当前图像base64: async () => {
    let base64Pic = await map3d.getBase64();
  },
  /////视角书签/////
  当前视角参数: () => {
    console.log(map3d.getCameraSet());
  },
  设置视角: () => {
    /// cameraMoveTo的参数需要从 map3d.getCameraSet()获取
    map3d.cameraMoveTo({
      lat: 24.334425,
      lng: 91.830673,
      alt: 124066,
      heading: 350,
      pitch: -31,
    });
  },
}





export default map3d

// let options_mark = {
//   清除标记: () => {
//     map3d.clearMarks(); // 清除标记
//   },
//   点击定位: () => {
//     let op = {
//       scale: 1,
//       image: `img/1.png`,
//       labelText: "", // 不需要就 传 ''
//       labelFontSize: 26,
//       labelColor: "#ffffff",
//       labelOutline: true,
//       labelOutlineColor: "#000000",
//       labelPixelOffsetY: -60,
//     };
//     map3d.pointMark(op); // 点击绘点
//   },
//   //   批量导入点: () => {
//   //     console.log("...."); // 点导入
//   //   },
//   线: () => {
//     let option = {
//       // width: 3,
//       color: "#ffa430",
//       isArrow: false,
//     };
//     map3d.printLine(option);
//   },
//   多边形: () => {
//     let option = {
//       color: "#ff453e",
//       opacity: 0.5,
//       outline: true,
//       outlineColor: "#fff9e8",
//       outlineWidth: 2.0,
//       // clampToGround = false, // 如果需要，可以添加这个选项
//     };
//     map3d.printPolygon(option); // 绘多边形 "自由面"
//   },
//   圆: () => {
//     let op = {
//       color: "#ffff00",
//       opacity: 0, // 透明度为0即圆形线
//       outlineOpacity: 1,
//       outline: true,
//       outlineColor: "#e81f58",
//       outlineWidth: 3.0,
//       clampToGround: true,
//     };
//     map3d.drawCircle(op); // 绘圆 // 传入透明度，0 时为绘制 ”圆形线“，比如 0.3 为 ”圆形线面"
//   },
//   矩形: () => {
//     let op = {
//       color: "#ffff00",
//       opacity: 0.5, // 0 为矩形线
//       outlineOpacity: 1,
//       outline: true,
//       outlineColor: "#ffffff",
//       outlineWidth: 2.0,
//       clampToGround: true,
//     };
//     map3d.drawRectangle(op); // 绘矩形 // 传入透明度，0 时为绘制 ”矩形线“，比如 0.3 为 "矩形"
//   },
//   细直箭头: () => {
//     let option = {
//       width: 18,
//       color: "#ffa430",
//       isArrow: true, //细直箭头,
//     };
//     map3d.printLine(option);
//   },
//   直箭头: () => {
//     let option = {
//       width: 48,
//       color: "#ffa430",
//       isArrow: true, //  细直箭头,  粗直箭宽度调大
//     };
//     map3d.printLine(option);
//   },

//   文字标注: () => {
//     let op = {
//       text: "文字标注",
//       color: "#0081c2",
//       fontSize: 26,
//       outline: true,
//       outlineColor: "#ffffff",
//       outlineWidth: 2,
//     };
//     map3d.textMark(op); // 文字标注 // textMark('内容', fontSize) fontSize 可不传默认 26
//   },
//   geojson获取: () => {
//     console.log(map3d.getMarkGeoJson());
//   },
//   color: "#0081c2",
//   outlineColor: "#0081c2",
//   width: 2,
// };
// Object.entries(options_mark).forEach(([key, value]) => {
//   if (typeof value === "function") {
//     mark.add({ [key]: value }, key).name(key.replace(/([A-Z])/g, " $1").trim());
//   } else if (key.includes("color")) {
//     // 如果是颜色属性，则添加颜色选择器
//     mark
//       .addColor(options_mark, key)
//       .name(key)
//       .onFinishChange((val) => {
//         map3d.changeNowMarkItem(nowMarkItem, { color: val });
//       });
//   } else if (key.includes("outlineColor")) {
//     mark
//       .addColor(options_mark, key)
//       .name(key)
//       .onFinishChange((val) => {
//         map3d.changeNowMarkItem(nowMarkItem, { outlineColor: val });
//       });
//   } else if (key.includes("width")) {
//     mark
//       .add(options_mark, key, 1, 10)
//       .name(key)
//       .step(0.1)
//       .onFinishChange((val) => {
//         console.log(`${key} 宽度改变为:`, val);
//         map3d.changeNowMarkItem(nowMarkItem, { width: val });
//       });
//   }
// });









